#!/bin/bash
# 输出文件路径
OUTPUT_FILE="cpu_usage_per_core.log"
# 创建/清空输出文件
> $OUTPUT_FILE
# 获取 CPU 核心数量
NUM_CPUS=$(grep -c ^processor /proc/cpuinfo)

# 循环每3秒钟采集一次数据
while true; do
    # 获取当前时间
    echo "-----------------------------------------" >> $OUTPUT_FILE
    echo "Timestamp: $(date)" >> $OUTPUT_FILE
    echo "-----------------------------------------" >> $OUTPUT_FILE
    # 获取并输出每个核心的 CPU 占用率
    echo "Per CPU Usage:" >> $OUTPUT_FILE
    mpstat -P ALL 1 1 | awk '/Average:/ && $2 ~ /[0-9]+/ {print "CPU" $2 ": " 100 - $NF "%"}' >> $OUTPUT_FILE
    # 等待3秒钟再执行下一次采集
    sleep 3
done
